home *** CD-ROM | disk | FTP | other *** search
- {look at the jmpcrk1 first}
- var
- byte1, byte2, byte3, byte4 :byte;
- i1, i2, i4 : integer;
- tmp:word;
- _fl:file of char;
- tmpbyte:char;
- counter:longint;
-
- begin
-
- assign(_fl,'out');
- rewrite(_fl);
-
-
- byte3:=$7c; {'|'}
-
- {
- 70
- ok, change this symbol to $7c, $90, $9c, $f0, $fc,
- and you get all 'correct' values. PSA made good joke :-)
- }
-
- writeln('(x) PSA jmp!crk crack by Shaman //IHC //UCL');
-
- write('Calculating [');
-
- for i1:=$20 to $7e do
- begin
- byte1:=i1;
- for i2:=$20 to $7e do
- begin
- byte2:=i2;
- for i4:=$20 to $7e do
- begin
- byte4:=i4;
-
- asm
- mov ah,[byte2]
- mov al,[byte1]
- xor ah,al
- mov bh,[byte4]
- mov bl,[byte3]
- xor ax,bx
- xor al,$82
- mov [tmp],ax
- end;
-
- if (tmp<$400) and (tmp>$100) then
- begin
- inc(counter);
- tmpbyte:=chr(byte1);
- write(_fl,tmpbyte);
- tmpbyte:=chr(byte2);
- write(_fl,tmpbyte);
- tmpbyte:=chr(byte3);
- write(_fl,tmpbyte);
- tmpbyte:=chr(byte4);
- write(_fl,tmpbyte);
- tmpbyte:=chr($d);
- write(_fl,tmpbyte);
- tmpbyte:=chr($a);
- write(_fl,tmpbyte);
- end;
- end;
- end;
- write('.');
- end;
-
- close(_fl);
- writeln(']');
- writeln('Count: ', counter);
- end.